package com.yjs.app.trade.service.service.sys;

import java.util.List;
import java.util.Map;

/**
 * 用户信息
 * @author hukangji
 *
 */
public interface UserService {

	/**
	 * 获取用户信息
	 * @param passportId 用户ID
	 * @return
	 */
	public Map<String, Object> getUserInfo (String passportId);
	
	/**
	 * 修改头像
	 * @param photoUrl 图片地址
	 * @param passportId 用户ID
	 * @return
	 */
	public int updateUserPhoto ( String passportId, String photoUrl);
	
	/**
	 * 修改用户电话
	 * @param phone 电话
	 * @param passportId 用户ID
	 * @return
	 */
	public int updateUserPhone (String passportId, String phoneNumber);
	
	/**
	 * 修改邮箱
	 * @param passportId
	 * @param email
	 * @return
	 */
	public int updateUserEmail (String passportId, String email);
	
	/**
	 * 修改行政区域
	 * @param passportId 用户ID
	 * @param provinceId 省份ID
	 * @param cityId 城市ID
	 * @param countyId 区县ID
	 * @param address 详细地址
	 * @return
	 */
	public int updateUserRegion (String passportId, String provinceRegionId, String cityRegionId, String countyRegionId, String address);
	
	/**
	 * 修改用户登录设备
	 * @param mac 设备唯一标识
	 * @return
	 */
	public int updateLoginMac (String passportId, String mac);
	
	/**
	 * 根据企业ID查询用户角色
	 * @param memberId 企业ID
	 * @return
	 */
	public Object getUserRole (String memberId);
	
	/**
	 * 用户身份认证
	 * @param name 姓名
	 * @param idcardno 身份证号
	 * @return
	 */
	public Object updateIdentityAuthentication (String passportId, String name, String idcardno);
	
	/**
	 * 修改密码
	 * @param oldPwd 旧密码
	 * @param newPwd 新密码
	 * @return
	 */
	public Object updateUserPassword (String oldPwd, String newPwd); 
	
	/**
	 * 校验原密码是否相同
	 * @param oldPwd
	 * @return
	 */
	public Object checkUserPassword (String oldPwd); 
	
	/**
	 * 用户登录进行身份认证
	 * @param data
	 * @return
	 */
	public int getUserAuthentication(Map<String,Object> map);
	
	/**
	 * 用户登录进行身份认证
	 * @param data
	 * @return
	 */
	public List<String> getUserId(Map<String,Object> map);
	
	/**
	 * 用户认证成功后进行状态更改
	 * @param map
	 * @return
	 */
	public void updateIdEntification(Map<String,Object> map);
	
	/**
	 * 绑定手机号码
	 * @param passportId
	 * @param phoneNumber
	 * @return
	 */
	public int updateUserMobile (String passportId, String mobile);
	/**
	 * 根据memberid查询passportid
	 * @param memberIds
	 * @return
	 */
	public List<Map<String, Object>> findPassportIdByMemberId(Map<String, Object> param);
	
	/**
	 * 绑定手机号码
	 * @param passportId
	 * @param phoneNumber
	 * @return
	 */
	public int updateUserInfo (Map<String,Object> map);
	
	/**
	 * 查询自身的销售配置医院关联关系
	 * @param memberIds
	 * @return
	 */
	public List<Map<String, Object>> getPassportSalesAut(String passportId);
	
	/**
	 * 是否主账号
	 */
	public boolean isManagerPassport(String passportId);
}
